const path = require('path')
//webpack中的所有配置都应该写在module.exports中
const html = require('html-webpack-plugin')

module.exports = {
    //指定入口文件
    entry: './src/index.ts',
    //指定打包文件的目录
    output: {
        path: path.resolve(__dirname, 'dist'),
        filename: "bundle.js",
        environment: {
            arrowFunction: false
        }
    },
    module: {
        //指定加载规则
        rules: [
            {
                //test指定的是规则生效的文件
                test: /\.ts$/,
                //要使用的loader
                use: [{
                    //指定加载器
                    loader: "babel-loader",
                    //设置Babel
                    options: {
                        //设置预定的环境
                        presets: [
                            [
                                //指定环境的插件
                                "@babel/preset-env",
                                //配置信息
                                {
                                    //要兼容的目标浏览器版本
                                    targets: {
                                        "chrome": "88",
                                        "ie": "11"
                                    },
                                    //指定corejs的版本
                                    "corejs": "3",
                                    "useBuiltIns": "usage"
                                }
                            ]
                        ]
                    }
                }, 'ts-loader'],
                //要排除的文件
                exclude: /node_modules/
            }
        ]
    },
    //配置插件
    plugins: [
        new html({
            title: '这是一个自定义的title'
        })
    ],
    mode: 'development'

}